novelrt/NovelRT
cmake/CopyBuildProducts.cmake
:83
file(GENERATE
OUTPUT copy_build_products$<$<BOOL:${multi_config}>:_$<CONFIG>>.cmake
CONTENT "${copy_snippet}")
file(GENERATE
OUTPUT copy_build_products$<$<BOOL:${multi_config}>:_$<CONFIG>>.cmake
CONTENT "${copy_snippet}")
target_compile_definitions(Jolt PUBLIC $<$<BOOL:${MSVC}>:_HAS_EXCEPTIONS=0>)
set(_include_directories "$<$<BOOL:${_include_directories}>:-I$<JOIN:${_include_directories},\n-I>\n>")
target_compile_definitions(
${ra_core_target}
PUBLIC -DCXX_FILESYSTEM_HAVE_FS
-DCXX_FILESYSTEM_IS_EXPERIMENTAL=$<BOOL:${CXX_FILESYSTEM_IS_EXPERIMENTAL}>
-DCXX_FILESYSTEM_NAMESPACE=${CXX_FILESYSTEM_NAMESPACE}
)
target_compile_definitions(${target} PUBLIC
$<IF:$<BOOL:${CC_USE_GFX_RENDERER}>,USE_GFX_RENDERER=1,USE_GFX_RENDERER=0>
$<IF:$<BOOL:${CC_USE_VIDEO}>,USE_VIDEO=1,USE_VIDEO=0>
$<IF:$<BOOL:${CC_USE_WEBVIEW}>,USE_WEB_VIEW=1,USE_WEB_VIEW=0>
$<IF:$<BOOL:${CC_USE_AUDIO}>,USE_AUDIO=1,USE_AUDIO=0>
$<IF:$<BOOL:${CC_USE_SOCKET}>,USE_SOCKET=1,USE_SOCKET=0>
$<IF:$<BOOL:${CC_USE_WEBSOCKET_SERVER}>,USE_WEBSOCKET_SERVER=1,USE_WEBSOCKET_SERVER=0>
$<IF:$<BOOL:${CC_USE_MIDDLEWARE}>,USE_MIDDLEWARE=1,USE_MIDDLEWARE=0>
$<IF:$<BOOL:${CC_USE_SPINE}>,USE_SPINE=1,USE_SPINE=0>
$<IF:$<BOOL:${CC_USE_DRAGONBONES}>,USE_DRAGONBONES=1,USE_DRAGONBONES=0>
$<IF:$<BOOL:${CC_USE_SE_NAPI}>,USE_SE_NAPI=1,USE_SE_NAPI=0>
$<IF:$<BOOL:${CC_USE_PARTICLE}>,USE_PARTICLE=1,USE_PARTICLE=0>
$<IF:$<BOOL:${CC_USE_SE_V8}>,USE_SE_V8=1,USE_SE_V8=0>
$<IF:$<BOOL:${CC_USE_SE_JSVM}>,USE_SE_JSVM=1,USE_SE_JSVM=0>
)
add_custom_command(
OUTPUT "${COMPILED_SHADERS}/BC6HEncode_EncodeBlockCS.inc"
MAIN_DEPENDENCY "${PROJECT_SOURCE_DIR}/DirectXTex/Shaders/CompileShaders.cmd"
DEPENDS ${SHADER_SOURCES}
COMMENT "Generating HLSL shaders..."
COMMAND ${CMAKE_COMMAND} -E env CompileShadersOutput="${COMPILED_SHADERS}" $<$<BOOL:${DIRECTX_FXC_TOOL}>:LegacyShaderCompiler=${DIRECTX_FXC_TOOL}> CompileShaders.cmd > "${COMPILED_SHADERS}/compileshaders.log"
WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}/DirectXTex/Shaders"
USES_TERMINAL)
target_compile_definitions(${PROJECT_NAME}
PRIVATE $<$<BOOL:${MSVC}>:PCRE_STATIC;_UNICODE>)
target_compile_options(filesystem_test PRIVATE
$<$<BOOL:${EMSCRIPTEN}>:-s DISABLE_EXCEPTION_CATCHING=0>
$<$<CXX_COMPILER_ID:Clang>:-Wall -Wextra -Wshadow -Wconversion -Wsign-conversion -Wpedantic -Werror>
$<$<CXX_COMPILER_ID:GNU>:-Wall -Wextra -Wshadow -Wconversion -Wsign-conversion -Wpedantic -Wno-psabi -Werror>
$<$<CXX_COMPILER_ID:MSVC>:/WX>)
add_library(${PROJECT_NAME} MODULE
oid_bridge.cpp
../debuggerinterface/python_native_interface.cpp
../system/process/process.cpp
$<$<BOOL:${UNIX}>:../system/process/process_unix.cpp>
$<$<BOOL:${WIN32}>:../system/process/process_win32.cpp>)
target_compile_options(${target} PUBLIC
$<$<BOOL:${has_sse}>:-msse>
$<$<BOOL:${has_sse2}>:-msse2>
$<$<BOOL:${has_sse_fp}>:-mfpmath=sse>
$<$<BOOL:${NATIVE}>:-march=native>
$<$<BOOL:${STRICT}>:-Wall -Wextra -Werror -Wpedantic>
)
target_compile_definitions(${target} PRIVATE
# Somewhat speed up Catch2 compile times
CATCH_CONFIG_FAST_COMPILE
# Let libc++ be stricter about includes
_LIBCPP_REMOVE_TRANSITIVE_INCLUDES
# Enable assertions for more thorough tests
_GLIBCXX_ASSERTIONS
_LIBCPP_ENABLE_ASSERTIONS=1
CPPSORT_ENABLE_ASSERTIONS
# We test deprecated code but we don't want it to warn
CPPSORT_DISABLE_DEPRECATION_WARNINGS
# Conditionally turn some tests into static assertions
$<$<NOT:$<BOOL:${CPPSORT_STATIC_TESTS}>>:CATCH_CONFIG_RUNTIME_STATIC_REQUIRE>
)
target_compile_definitions(
${NLOHMANN_JSON_TARGET_NAME}
INTERFACE
$<$<NOT:$<BOOL:${JSON_GlobalUDLs}>>:JSON_USE_GLOBAL_UDLS=0>
$<$<NOT:$<BOOL:${JSON_ImplicitConversions}>>:JSON_USE_IMPLICIT_CONVERSIONS=0>
$<$<BOOL:${JSON_DisableEnumSerialization}>:JSON_DISABLE_ENUM_SERIALIZATION=1>
$<$<BOOL:${JSON_Diagnostics}>:JSON_DIAGNOSTICS=1>
$<$<BOOL:${JSON_LegacyDiscardedValueComparison}>:JSON_USE_LEGACY_DISCARDED_VALUE_COMPARISON=1>
)
target_compile_definitions(gtest_no_maidsafe_log PRIVATE $<$<BOOL:${WIN32}>:MAIDSAFE_WIN32> $<$<BOOL:${MSVC}>:BOOST_ALL_NO_LIB>)
ExternalProject_Add(
nested_windows
PREFIX ${windows_prefix}
SOURCE_DIR ${CMAKE_SOURCE_DIR}
CMAKE_ARGS
-DBUILD_LINUX_MIDDLEWARE=OFF
"-DBUILD_WINDOWS_MIDDLEWARE_EXE=${BUILD_WINDOWS_MIDDLEWARE_EXE}"
"-DBUILD_WINDOWS_MIDDLEWARE_LIB=${BUILD_WINDOWS_MIDDLEWARE_LIB}"
"-DCMAKE_BUILD_TYPE=$<CONFIG>"
"-DCMAKE_INSTALL_PREFIX=${windows_install_dir}"
"-DCMAKE_TOOLCHAIN_FILE=${CMAKE_SOURCE_DIR}/cmake/toolchain-mingw64.cmake"
$<$<BOOL:BUILD_WINDOWS_MIDDLEWARE_EXE>:-DWINDOWS_MIDDLEWARE_EXE_COMPONENT=nested-windows>
$<$<BOOL:BUILD_WINDOWS_MIDDLEWARE_LIB>:-DWINDOWS_MIDDLEWARE_LIB_COMPONENT=nested-windows>
"-DBUILD_TESTS=${BUILD_TESTS}"
# Reuse the 3P source trees we've already downloaded in the nested
# build.
"-Dfmt_POPULATED=${fmt_POPULATED}"
"-Dfmt_SOURCE_DIR=${fmt_SOURCE_DIR}"
"-Dfmt_BINARY_DIR=<BINARY_DIR>/_deps/fmt-build"
"-Dspdlog_POPULATED=${spdlog_POPULATED}"
"-Dspdlog_SOURCE_DIR=${spdlog_SOURCE_DIR}"
"-Dspdlog_BINARY_DIR=<BINARY_DIR>/_deps/spdlog-build"
"-Dgoogletest_POPULATED=${googletest_POPULATED}"
"-Dgoogletest_SOURCE_DIR=${googletest_SOURCE_DIR}"
"-Dgoogletest_BINARY_DIR=<BINARY_DIR>/_deps/googletest-build"
BUILD_ALWAYS ON
)
target_compile_options(nvshmem_perftest_helper
PRIVATE $<$<CONFIG:Debug>:-O0;-g;>
$<$<AND:$<BOOL:${NVSHMEM_VERBOSE}>,$<COMPILE_LANGUAGE:CUDA>>:-Xptxas -v>
$<$<AND:$<COMPILE_LANGUAGE:CUDA>,$<CONFIG:Debug>>:-O0;-g;-G>
$<$<AND:$<COMPILE_LANGUAGE:CUDA>,$<BOOL:${NVCC_THREADS}>>:-t4>
)
target_compile_definitions(${THETARGET}
PUBLIC
_CRT_NONSTDC_NO_WARNINGS # Don't deprecate posix names of functions.
_CRT_SECURE_NO_WARNINGS # Don't deprecate the non _s versions of various standard library functions, because safety is for chumps.
_SCL_SECURE_NO_WARNINGS # Don't deprecate the non _s versions of various standard library functions, because safety is for chumps.
_ENABLE_EXTENDED_ALIGNED_STORAGE #A type with an extended alignment in VS 15.8 or later
_STL_EXTRA_DISABLED_WARNINGS=4774\ 4987
$<$<BOOL:${MSVC_ENABLE_CPP_LATEST}>:_HAS_AUTO_PTR_ETC=1> # We're building in C++ 17 or greater mode, but certain dependencies (Boost) still have dependencies on unary_function and binary_function, so we have to make sure not to remove them.
$<$<BOOL:${MSVC_ENABLE_LEAN_AND_MEAN_WINDOWS}>:WIN32_LEAN_AND_MEAN> # Don't include most of Windows.h
$<$<BOOL:${MSVC_SUPPRESS_BOOST_CONFIG_OUTDATED}>:BOOST_CONFIG_SUPPRESS_OUTDATED_MESSAGE> # MSVC moves faster than boost, so add a quick way to disable the messages.
)
target_compile_definitions(Jolt PUBLIC $<$<BOOL:${MSVC}>:_HAS_EXCEPTIONS=0>)
target_compile_definitions(InputOutput PRIVATE $<$<BOOL:${MINGW}>:_WIN32_WINNT=0x600>)
target_link_libraries(mapnik PRIVATE
mapnik::agg
# expr: if(BUILD_SHARED_PLUGINS == OFF && <target> is build) then add link target
$<$<AND:$<NOT:$<BOOL:${BUILD_SHARED_PLUGINS}>>,$<TARGET_EXISTS:input-csv>>:input-csv>
$<$<AND:$<NOT:$<BOOL:${BUILD_SHARED_PLUGINS}>>,$<TARGET_EXISTS:input-gdal>>:input-gdal>
$<$<AND:$<NOT:$<BOOL:${BUILD_SHARED_PLUGINS}>>,$<TARGET_EXISTS:input-geobuf>>:input-geobuf>
$<$<AND:$<NOT:$<BOOL:${BUILD_SHARED_PLUGINS}>>,$<TARGET_EXISTS:input-geojson>>:input-geojson>
$<$<AND:$<NOT:$<BOOL:${BUILD_SHARED_PLUGINS}>>,$<TARGET_EXISTS:input-ogr>>:input-ogr>
$<$<AND:$<NOT:$<BOOL:${BUILD_SHARED_PLUGINS}>>,$<TARGET_EXISTS:input-pgraster>>:input-pgraster>
$<$<AND:$<NOT:$<BOOL:${BUILD_SHARED_PLUGINS}>>,$<TARGET_EXISTS:input-postgis>>:input-postgis>
$<$<AND:$<NOT:$<BOOL:${BUILD_SHARED_PLUGINS}>>,$<TARGET_EXISTS:input-raster>>:input-raster>
$<$<AND:$<NOT:$<BOOL:${BUILD_SHARED_PLUGINS}>>,$<TARGET_EXISTS:input-shape>>:input-shape>
$<$<AND:$<NOT:$<BOOL:${BUILD_SHARED_PLUGINS}>>,$<TARGET_EXISTS:input-sqlite>>:input-sqlite>
$<$<AND:$<NOT:$<BOOL:${BUILD_SHARED_PLUGINS}>>,$<TARGET_EXISTS:input-topojson>>:input-topojson>
$<$<AND:$<NOT:$<BOOL:${BUILD_SHARED_PLUGINS}>>,$<TARGET_EXISTS:input-tiles>>:input-tiles>
)
target_compile_definitions(ot-cli PRIVATE
$<$<BOOL:${READLINE}>:HAVE_LIB$<UPPER_CASE:${OT_READLINE}>=1>)
target_compile_definitions(performous_test PRIVATE $<IF:$<NOT:$<BOOL:${SPDLOG_FMT_EXTERNAL_HO}>>,SPDLOG_FMT_EXTERNAL,SPDLOG_FMT_EXTERNAL_HO> FMT_USE_CONSTEXPR)
set_source_files_properties( "${CMAKE_CURRENT_SOURCE_DIR}/core/plugin/PluginManager.cpp"
PROPERTIES
COMPILE_DEFINITIONS
"CMAKE_GENERATOR_IS_MULTI_CONFIG=$<BOOL:${CMAKE_GENERATOR_IS_MULTI_CONFIG}>;CMAKE_GENERATOR_CONFIGURATION=\"$<CONFIG>\""
)
target_compile_definitions(plugin
PRIVATE
$<$<BOOL:${LIBDL_FOUND}>:HAVE_DLFCN_H>
)
add_compile_definitions($<$<BOOL:${LV_USE_DRAW_SDL}>:LV_USE_DRAW_SDL=1>)
add_compile_options(-Werror=old-style-cast
$<$<BOOL:${Wuseless-cast}>:-Werror=useless-cast>)
target_compile_definitions(core_iaa PRIVATE QPL_BADARG_CHECK
PRIVATE $<$<BOOL:${LOG_HW_INIT}>:LOG_HW_INIT>
PRIVATE $<$<BOOL:${DYNAMIC_LOADING_LIBACCEL_CONFIG}>:DYNAMIC_LOADING_LIBACCEL_CONFIG>)
target_include_directories (${targetName} PUBLIC
${TRISYCL_INCLUDE_DIR}
${Boost_INCLUDE_DIRS}
$<$<BOOL:${TRISYCL_OPENCL}>:${OpenCL_INCLUDE_DIRS}>
$<$<BOOL:${TRISYCL_OPENCL}>:${BOOST_COMPUTE_INCPATH}>)
target_compile_definitions(paraview
PRIVATE
"PARAVIEW_ENABLE_EMBEDDED_DOCUMENTATION=$<BOOL:${PARAVIEW_ENABLE_EMBEDDED_DOCUMENTATION}>")
target_compile_definitions(
DataFrame
PRIVATE $<$<BOOL:${HMDF_HAVE_CLOCK_GETTIME}>:HMDF_HAVE_CLOCK_GETTIME>
PUBLIC $<$<CXX_COMPILER_ID:MSVC>:_USE_MATH_DEFINES>
)
target_compile_definitions(
${PROJECT_NAME} PUBLIC $<$<BOOL:${Boost_CHRONO_FOUND}>:HAS_BOOST_CHRONO>)
target_compile_definitions(
${NLOHMANN_JSON_TARGET_NAME}
INTERFACE
$<$<NOT:$<BOOL:${JSON_GlobalUDLs}>>:JSON_USE_GLOBAL_UDLS=0>
$<$<NOT:$<BOOL:${JSON_ImplicitConversions}>>:JSON_USE_IMPLICIT_CONVERSIONS=0>
$<$<BOOL:${JSON_DisableEnumSerialization}>:JSON_DISABLE_ENUM_SERIALIZATION=1>
$<$<BOOL:${JSON_Diagnostics}>:JSON_DIAGNOSTICS=1>
$<$<BOOL:${JSON_LegacyDiscardedValueComparison}>:JSON_USE_LEGACY_DISCARDED_VALUE_COMPARISON=1>
)
target_sources(yaml-cpp
PRIVATE
$<$<BOOL:${YAML_CPP_BUILD_CONTRIB}>:${yaml-cpp-contrib-sources}>
${yaml-cpp-sources})
add_custom_command(
OUTPUT ${gensrcdict} ${rootmapname}
COMMAND ${ROOT_genreflex_CMD}
ARGS ${headerfiles} -o ${gensrcdict} ${rootmapopts} --select=${selectionfile}
--gccxmlpath=${GCCXML_home}/bin ${ARG_OPTIONS}
"-I$<JOIN:$<REMOVE_DUPLICATES:$<FILTER:${include_dirs},EXCLUDE,^$>>,;-I>"
"$<$<BOOL:$<JOIN:${definitions},>>:-D$<JOIN:${definitions},;-D>>"
DEPENDS ${headerfiles} ${selectionfile} ${ARG_DEPENDS}
COMMAND_EXPAND_LISTS
)
add_custom_command(
OUTPUT ${target}
COMMAND
${SYCLCC_EXECUTABLE} -o ${target} ${target}.o $<TARGET_FILE_DIR:GTest::gtest>/libgtest.a
$<TARGET_FILE_DIR:test_main>/libtest_main.a ${CMAKE_THREAD_LIBS_INIT} ${ARCH_LINK_FLAGS}
$<$<BOOL:${BUILD_TRACING}>:$<TARGET_FILE_DIR:perfetto>/libperfetto.a>
DEPENDS ${target}.o test_main
COMMENT "Linking SYCL executable ${target}"
)
target_compile_options(
CLI11_warnings
INTERFACE $<$<BOOL:${CLI11_FORCE_LIBCXX}>:-stdlib=libc++>
$<$<CXX_COMPILER_ID:MSVC>:/W4
$<$<BOOL:${CLI11_WARNINGS_AS_ERRORS}>:/WX>>
$<$<NOT:$<CXX_COMPILER_ID:MSVC>>:${unix-warnings}
$<$<BOOL:${CLI11_WARNINGS_AS_ERRORS}>:-Werror>>)
target_compile_definitions(dawn_wgpu_utils
PUBLIC
"-DTINT_BUILD_SPV_READER=$<BOOL:${TINT_BUILD_SPV_READER}>")
target_compile_definitions(resipares PUBLIC $<$<BOOL:HAVE_ARPA_NAMESER_H>:HAVE_ARPA_NAMESER_H>)
set_property(TARGET ${trgt} PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>$<$<BOOL:${NBL_COMPILER_DYNAMIC_RUNTIME}>:DLL>")
target_sources(gfxrecon_decode
PRIVATE
${GFXRECON_SOURCE_DIR}/framework/decode/annotation_handler.h
${GFXRECON_SOURCE_DIR}/framework/decode/api_decoder.h
${GFXRECON_SOURCE_DIR}/framework/decode/common_consumer_base.h
${GFXRECON_SOURCE_DIR}/framework/decode/common_handle_mapping_util.h
${GFXRECON_SOURCE_DIR}/framework/decode/common_object_info_table.h
${GFXRECON_SOURCE_DIR}/framework/decode/common_struct_handle_mappers.h
${GFXRECON_SOURCE_DIR}/framework/decode/common_object_info_table.cpp
${GFXRECON_SOURCE_DIR}/framework/decode/copy_shaders.h
$<$<BOOL:${OPENXR_SUPPORT_ENABLED}>:${GFXRECON_SOURCE_DIR}/framework/decode/custom_openxr_struct_decoders.h>
$<$<BOOL:${OPENXR_SUPPORT_ENABLED}>:${GFXRECON_SOURCE_DIR}/framework/decode/custom_openxr_struct_decoders.cpp>
$<$<BOOL:${OPENXR_SUPPORT_ENABLED}>:${GFXRECON_SOURCE_DIR}/framework/decode/custom_openxr_struct_decoders_forward.h>
$<$<BOOL:${OPENXR_SUPPORT_ENABLED}>:${GFXRECON_SOURCE_DIR}/framework/decode/custom_openxr_struct_handle_mappers.h>
$<$<BOOL:${OPENXR_SUPPORT_ENABLED}>:${GFXRECON_SOURCE_DIR}/framework/decode/custom_openxr_struct_handle_mappers.cpp>
$<$<BOOL:${OPENXR_SUPPORT_ENABLED}>:${GFXRECON_SOURCE_DIR}/framework/decode/custom_openxr_struct_to_json.h>
$<$<BOOL:${OPENXR_SUPPORT_ENABLED}>:${GFXRECON_SOURCE_DIR}/framework/decode/custom_openxr_struct_to_json.cpp>
${GFXRECON_SOURCE_DIR}/framework/decode/custom_vulkan_struct_decoders.h
${GFXRECON_SOURCE_DIR}/framework/decode/custom_vulkan_struct_decoders.cpp
${GFXRECON_SOURCE_DIR}/framework/decode/custom_vulkan_struct_decoders_forward.h
${GFXRECON_SOURCE_DIR}/framework/decode/custom_vulkan_struct_handle_mappers.h
${GFXRECON_SOURCE_DIR}/framework/decode/custom_vulkan_struct_handle_mappers.cpp
${GFXRECON_SOURCE_DIR}/framework/decode/decode_allocator.h
${GFXRECON_SOURCE_DIR}/framework/decode/decode_allocator.cpp
${GFXRECON_SOURCE_DIR}/framework/decode/descriptor_update_template_decoder.h
${GFXRECON_SOURCE_DIR}/framework/decode/descriptor_update_template_decoder.cpp
${GFXRECON_SOURCE_DIR}/framework/decode/file_processor.h
${GFXRECON_SOURCE_DIR}/framework/decode/file_processor.cpp
${GFXRECON_SOURCE_DIR}/framework/decode/preload_file_processor.h
${GFXRECON_SOURCE_DIR}/framework/decode/preload_file_processor.cpp
${GFXRECON_SOURCE_DIR}/framework/decode/file_transformer.h
${GFXRECON_SOURCE_DIR}/framework/decode/file_transformer.cpp
${GFXRECON_SOURCE_DIR}/framework/decode/handle_pointer_decoder.h
${GFXRECON_SOURCE_DIR}/framework/decode/json_writer.h
${GFXRECON_SOURCE_DIR}/framework/decode/json_writer.cpp
$<$<BOOL:${OPENXR_SUPPORT_ENABLED}>:${GFXRECON_SOURCE_DIR}/framework/decode/openxr_consumer_base.h>
$<$<BOOL:${OPENXR_SUPPORT_ENABLED}>:${GFXRECON_SOURCE_DIR}/framework/decode/openxr_decoder_base.h>
$<$<BOOL:${OPENXR_SUPPORT_ENABLED}>:${GFXRECON_SOURCE_DIR}/framework/decode/openxr_decoder_base.cpp>
$<$<BOOL:${OPENXR_SUPPORT_ENABLED}>:${GFXRECON_SOURCE_DIR}/framework/decode/openxr_detection_consumer.h>
$<$<BOOL:${OPENXR_SUPPORT_ENABLED}>:${GFXRECON_SOURCE_DIR}/framework/decode/openxr_enum_util.h>
$<$<BOOL:${OPENXR_SUPPORT_ENABLED}>:${GFXRECON_SOURCE_DIR}/framework/decode/openxr_feature_util.h>
$<$<BOOL:${OPENXR_SUPPORT_ENABLED}>:${GFXRECON_SOURCE_DIR}/framework/decode/openxr_feature_util.cpp>
$<$<BOOL:${OPENXR_SUPPORT_ENABLED}>:${GFXRECON_SOURCE_DIR}/framework/decode/openxr_handle_mapping_util.h>
$<$<BOOL:${OPENXR_SUPPORT_ENABLED}>:${GFXRECON_SOURCE_DIR}/framework/decode/openxr_handle_mapping_util.cpp>
$<$<BOOL:${OPENXR_SUPPORT_ENABLED}>:${GFXRECON_SOURCE_DIR}/framework/decode/openxr_json_consumer_base.h>
$<$<BOOL:${OPENXR_SUPPORT_ENABLED}>:${GFXRECON_SOURCE_DIR}/framework/decode/openxr_json_consumer_base.cpp>
$<$<BOOL:${OPENXR_SUPPORT_ENABLED}>:${GFXRECON_SOURCE_DIR}/framework/decode/openxr_next_node.h>
$<$<BOOL:${OPENXR_SUPPORT_ENABLED}>:${GFXRECON_SOURCE_DIR}/framework/decode/openxr_next_typed_node.h>
$<$<BOOL:${OPENXR_SUPPORT_ENABLED}>:${GFXRECON_SOURCE_DIR}/framework/decode/openxr_object_info.h>
$<$<BOOL:${OPENXR_SUPPORT_ENABLED}>:${GFXRECON_SOURCE_DIR}/framework/decode/openxr_object_info_table_base.h>
$<$<BOOL:${OPENXR_SUPPORT_ENABLED}>:${GFXRECON_SOURCE_DIR}/framework/decode/openxr_replay_common_state.h>
$<$<BOOL:${OPENXR_SUPPORT_ENABLED}>:${GFXRECON_SOURCE_DIR}/framework/decode/openxr_replay_session_state.h>
$<$<BOOL:${OPENXR_SUPPORT_ENABLED}>:${GFXRECON_SOURCE_DIR}/framework/decode/openxr_replay_session_state.cpp>
$<$<BOOL:${OPENXR_SUPPORT_ENABLED}>:${GFXRECON_SOURCE_DIR}/framework/decode/openxr_replay_swapchain_state.h>
$<$<BOOL:${OPENXR_SUPPORT_ENABLED}>:${GFXRECON_SOURCE_DIR}/framework/decode/openxr_replay_swapchain_state.cpp>
$<$<BOOL:${OPENXR_SUPPORT_ENABLED}>:${GFXRECON_SOURCE_DIR}/framework/decode/openxr_replay_consumer_base.h>
$<$<BOOL:${OPENXR_SUPPORT_ENABLED}>:${GFXRECON_SOURCE_DIR}/framework/decode/openxr_replay_consumer_base.cpp>
$<$<BOOL:${OPENXR_SUPPORT_ENABLED}>:${GFXRECON_SOURCE_DIR}/framework/decode/openxr_replay_options.h>
$<$<BOOL:${OPENXR_SUPPORT_ENABLED}>:${GFXRECON_SOURCE_DIR}/framework/decode/openxr_resource_tracking_consumer.h>
$<$<BOOL:${OPENXR_SUPPORT_ENABLED}>:${GFXRECON_SOURCE_DIR}/framework/decode/openxr_resource_tracking_consumer.cpp>
$<$<BOOL:${OPENXR_SUPPORT_ENABLED}>:${GFXRECON_SOURCE_DIR}/framework/decode/openxr_stats_consumer.h>
$<$<BOOL:${OPENXR_SUPPORT_ENABLED}>:${GFXRECON_SOURCE_DIR}/framework/decode/openxr_tracked_object_info.h>
$<$<BOOL:${OPENXR_SUPPORT_ENABLED}>:${GFXRECON_SOURCE_DIR}/framework/decode/openxr_tracked_object_info_table.h>
$<$<BOOL:${OPENXR_SUPPORT_ENABLED}>:${GFXRECON_SOURCE_DIR}/framework/decode/openxr_tracked_object_info.cpp>
$<$<BOOL:${OPENXR_SUPPORT_ENABLED}>:${GFXRECON_SOURCE_DIR}/framework/decode/openxr_tracked_object_info_table.cpp>
${GFXRECON_SOURCE_DIR}/framework/decode/mark_injected_commands.h
${GFXRECON_SOURCE_DIR}/framework/decode/mark_injected_commands.cpp
${GFXRECON_SOURCE_DIR}/framework/decode/pointer_decoder_base.h
${GFXRECON_SOURCE_DIR}/framework/decode/pointer_decoder.h
${GFXRECON_SOURCE_DIR}/framework/decode/portability.h
${GFXRECON_SOURCE_DIR}/framework/decode/portability.cpp
${GFXRECON_SOURCE_DIR}/framework/decode/referenced_resource_table.h
${GFXRECON_SOURCE_DIR}/framework/decode/referenced_resource_table.cpp
${GFXRECON_SOURCE_DIR}/framework/decode/replay_options.h
${GFXRECON_SOURCE_DIR}/framework/decode/resource_util.h
${GFXRECON_SOURCE_DIR}/framework/decode/resource_util.cpp
${GFXRECON_SOURCE_DIR}/framework/decode/screenshot_handler.h
${GFXRECON_SOURCE_DIR}/framework/decode/screenshot_handler.cpp
${GFXRECON_SOURCE_DIR}/framework/decode/screenshot_handler_base.h
${GFXRECON_SOURCE_DIR}/framework/decode/screenshot_handler_base.cpp
${GFXRECON_SOURCE_DIR}/framework/decode/string_array_decoder.h
${GFXRECON_SOURCE_DIR}/framework/decode/string_decoder.h
${GFXRECON_SOURCE_DIR}/framework/decode/struct_pointer_decoder.h
${GFXRECON_SOURCE_DIR}/framework/decode/swapchain_image_tracker.h
${GFXRECON_SOURCE_DIR}/framework/decode/value_decoder.h
${GFXRECON_SOURCE_DIR}/framework/decode/metadata_consumer_base.h
${GFXRECON_SOURCE_DIR}/framework/decode/marker_consumer_base.h
${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_consumer_base.h
${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_decoder_base.h
${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_decoder_base.cpp
${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_default_allocator.h
${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_default_allocator.cpp
${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_address_replacer.h
${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_address_replacer.cpp
${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_address_replacer_shaders.h
${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_device_address_tracker.h
${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_device_address_tracker.cpp
${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_captured_swapchain.h
${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_captured_swapchain.cpp
${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_enum_util.h
${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_handle_mapping_util.h
${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_handle_mapping_util.cpp
${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_object_cleanup_util.h
${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_object_cleanup_util.cpp
${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_object_info.h
${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_object_info_table.h
${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_object_info_table_base.h
${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_pnext_node.h
${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_pnext_typed_node.h
${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_realign_allocator.h
${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_realign_allocator.cpp
${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_rebind_allocator.h
${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_rebind_allocator.cpp
${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_referenced_resource_consumer_base.h
${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_referenced_resource_consumer_base.cpp
${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_remap_allocator.h
${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_remap_allocator.cpp
${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_replay_consumer_base.h
${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_replay_consumer_base.cpp
${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_replay_options.h
${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_pre_process_consumer.h
${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_replay_dump_resources.h
${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_replay_dump_resources.cpp
${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_replay_dump_resources_common.h
${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_replay_dump_resources_common.cpp
${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_replay_dump_resources_draw_calls.h
${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_replay_dump_resources_draw_calls.cpp
${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_replay_dump_resources_compute_ray_tracing.h
${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_replay_dump_resources_compute_ray_tracing.cpp
${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_replay_dump_resources_delegate.h
${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_replay_dump_resources_delegate.cpp
${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_replay_dump_resources_json.h
${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_replay_dump_resources_json.cpp
${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_resource_allocator.h
${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_resource_initializer.h
${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_resource_initializer.cpp
${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_resource_tracking_consumer.h
${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_resource_tracking_consumer.cpp
${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_swapchain.h
${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_swapchain.cpp
${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_tracked_object_info.h
${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_tracked_object_info_table.h
${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_tracked_object_info.cpp
${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_tracked_object_info_table.cpp
${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_virtual_swapchain.h
${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_virtual_swapchain.cpp
${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_offscreen_swapchain.h
${GFXRECON_SOURCE_DIR}/framework/decode/vulkan_offscreen_swapchain.cpp
${GFXRECON_SOURCE_DIR}/framework/decode/window.h
$<$<BOOL:${OPENXR_SUPPORT_ENABLED}>:${GFXRECON_SOURCE_DIR}/framework/generated/generated_openxr_consumer.h>
$<$<BOOL:${OPENXR_SUPPORT_ENABLED}>:${GFXRECON_SOURCE_DIR}/framework/generated/generated_openxr_decoder.h>
$<$<BOOL:${OPENXR_SUPPORT_ENABLED}>:${GFXRECON_SOURCE_DIR}/framework/generated/generated_openxr_decoder.cpp>
$<$<BOOL:${OPENXR_SUPPORT_ENABLED}>:${GFXRECON_SOURCE_DIR}/framework/generated/generated_openxr_enum_to_json.h>
$<$<BOOL:${OPENXR_SUPPORT_ENABLED}>:${GFXRECON_SOURCE_DIR}/framework/generated/generated_openxr_enum_to_json.cpp>
$<$<BOOL:${OPENXR_SUPPORT_ENABLED}>:${GFXRECON_SOURCE_DIR}/framework/generated/generated_openxr_json_consumer.h>
$<$<BOOL:${OPENXR_SUPPORT_ENABLED}>:${GFXRECON_SOURCE_DIR}/framework/generated/generated_openxr_json_consumer.cpp>
$<$<BOOL:${OPENXR_SUPPORT_ENABLED}>:${GFXRECON_SOURCE_DIR}/framework/generated/generated_openxr_object_info_table.h>
$<$<BOOL:${OPENXR_SUPPORT_ENABLED}>:${GFXRECON_SOURCE_DIR}/framework/generated/generated_openxr_replay_consumer.h>
$<$<BOOL:${OPENXR_SUPPORT_ENABLED}>:${GFXRECON_SOURCE_DIR}/framework/generated/generated_openxr_replay_consumer.cpp>
$<$<BOOL:${OPENXR_SUPPORT_ENABLED}>:${GFXRECON_SOURCE_DIR}/framework/generated/generated_openxr_struct_decoders.h>
$<$<BOOL:${OPENXR_SUPPORT_ENABLED}>:${GFXRECON_SOURCE_DIR}/framework/generated/generated_openxr_struct_decoders.cpp>
$<$<BOOL:${OPENXR_SUPPORT_ENABLED}>:${GFXRECON_SOURCE_DIR}/framework/generated/generated_openxr_struct_decoders_forward.h>
$<$<BOOL:${OPENXR_SUPPORT_ENABLED}>:${GFXRECON_SOURCE_DIR}/framework/generated/generated_openxr_struct_handle_mappers.h>
$<$<BOOL:${OPENXR_SUPPORT_ENABLED}>:${GFXRECON_SOURCE_DIR}/framework/generated/generated_openxr_struct_handle_mappers.cpp>
$<$<BOOL:${OPENXR_SUPPORT_ENABLED}>:${GFXRECON_SOURCE_DIR}/framework/generated/generated_openxr_struct_next_decoder.cpp>
$<$<BOOL:${OPENXR_SUPPORT_ENABLED}>:${GFXRECON_SOURCE_DIR}/framework/generated/generated_openxr_struct_to_json.h>
$<$<BOOL:${OPENXR_SUPPORT_ENABLED}>:${GFXRECON_SOURCE_DIR}/framework/generated/generated_openxr_struct_to_json.cpp>
${GFXRECON_SOURCE_DIR}/framework/generated/generated_vulkan_consumer.h
${GFXRECON_SOURCE_DIR}/framework/generated/generated_vulkan_decoder.h
${GFXRECON_SOURCE_DIR}/framework/generated/generated_vulkan_decoder.cpp
${GFXRECON_SOURCE_DIR}/framework/generated/generated_vulkan_pnext_struct_decoder.cpp
${GFXRECON_SOURCE_DIR}/framework/generated/generated_vulkan_replay_consumer.h
${GFXRECON_SOURCE_DIR}/framework/generated/generated_vulkan_replay_consumer.cpp
${GFXRECON_SOURCE_DIR}/framework/generated/generated_vulkan_replay_dump_resources.h
${GFXRECON_SOURCE_DIR}/framework/generated/generated_vulkan_replay_dump_resources.cpp
${GFXRECON_SOURCE_DIR}/framework/generated/generated_vulkan_struct_decoders_forward.h
${GFXRECON_SOURCE_DIR}/framework/generated/generated_vulkan_struct_decoders.h
${GFXRECON_SOURCE_DIR}/framework/generated/generated_vulkan_struct_decoders.cpp
${GFXRECON_SOURCE_DIR}/framework/generated/generated_vulkan_struct_handle_mappers.h
${GFXRECON_SOURCE_DIR}/framework/generated/generated_vulkan_struct_handle_mappers.cpp
${GFXRECON_SOURCE_DIR}/framework/generated/generated_vulkan_object_info_table_base2.h
)
add_custom_target(
${check_target}
COMMAND
${cppcheck_EXECUTABLE}
"$<$<BOOL:${includes}>:-I$<JOIN:${includes},\t-I>>"
--enable=all
--std=c++${CXX_STANDARD_TO_USE}
--verbose
--suppress=missingIncludeSystem
${ARGN}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)
target_link_options(DesktopBindless
PRIVATE
$<$<BOOL:${WIN32}>:/ENTRY:mainCRTStartup>
)
target_compile_definitions (${executable_target}
PRIVATE
SEASTAR_TESTING_MAIN
SEASTAR_TESTING_WITH_NETWORKING=$<BOOL:${Seastar_ENABLE_TESTS_ACCESSING_INTERNET}>)
target_link_options(${PROJECT_NAME} PRIVATE "/guard:cf" $<$<BOOL:${CROSSSIGNCERT}>:/INTEGRITYCHECK>)
target_compile_definitions(compiler_flags INTERFACE "$<$<BOOL:${BUILD_PYTHON_MODULE}>:USE_PYTHON_MODULE>")
target_compile_definitions(
${PROJECT_NAME}
PRIVATE
ARCHITECTURE_X64
GLFW_INCLUDE_NONE
CLIP_ENABLE_IMAGE
$<$<PLATFORM_ID:Linux>:HAVE_PNG_H>
$<$<CONFIG:Debug>:CONFIG_DEBUG>
$<$<CONFIG:Release>:CONFIG_RELEASE>
$<$<CXX_COMPILER_ID:MSVC>:_CRT_SECURE_NO_DEPRECATE>
$<$<PLATFORM_ID:Windows>:PLATFORM_WINDOWS>
$<$<PLATFORM_ID:Linux>:PLATFORM_LINUX>
$<$<BOOL:${PACKAGE_PORTABLE}>:PACKAGE_PORTABLE>
$<$<BOOL:${PACKAGE_DEV}>:PACKAGE_DEV>
$<$<AND:$<PLATFORM_ID:Linux>,$<BOOL:${PACKAGE_SNAP}>>:PACKAGE_SNAP>
$<$<AND:$<PLATFORM_ID:Linux>,$<BOOL:${PACKAGE_DEB}>>:PACKAGE_DEB>
$<$<AND:$<PLATFORM_ID:Linux>,$<BOOL:${PACKAGE_NIX}>>:PACKAGE_NIX>
# These shouldn't actually be necessary as there are no direct Windows API calls
# in TacentView (they are abstracted away by the Tacent libraries). But just in case
# anything in the viewer were to call an OS-level function, these enable the UTF-16
# versions if the TACENT_UTF16_API_CALLS option is set.
$<$<AND:$<PLATFORM_ID:Windows>,$<BOOL:${TACENT_UTF16_API_CALLS}>>:UNICODE> # C++ UFF-16
$<$<AND:$<PLATFORM_ID:Windows>,$<BOOL:${TACENT_UTF16_API_CALLS}>>:_UNICODE> # C UTF-16
$<$<AND:$<PLATFORM_ID:Windows>,$<BOOL:${TACENT_UTF16_API_CALLS}>>:TACENT_UTF16_API_CALLS>
)
add_compile_definitions( $<$<BOOL:${KICAD_SCRIPTING_WXPYTHON}>:KICAD_SCRIPTING_WXPYTHON> )
list( APPEND SOURCES
PRIVATE
${TARGET_ROOT}/include/portmixer.h
${TARGET_ROOT}/src/px_mixer.c
${TARGET_ROOT}/src/px_mixer.h
$<$<PLATFORM_ID:Windows>:
${TARGET_ROOT}/src/px_win_common.c
${TARGET_ROOT}/src/px_win_common.h
${TARGET_ROOT}/src/px_win_ds.c
${TARGET_ROOT}/src/px_win_wasapi.c
${TARGET_ROOT}/src/px_win_endpoint.c
${TARGET_ROOT}/src/px_win_endpoint.h
${TARGET_ROOT}/src/px_win_wmme.c
>
$<$<BOOL:${APPLE}>:
${TARGET_ROOT}/src/px_mac_coreaudio.c
>
$<$<BOOL:${PA_HAS_OSS}>:
${TARGET_ROOT}/src/px_unix_oss.c
>
$<$<BOOL:${PA_HAS_ALSA}>:
${TARGET_ROOT}/src/px_linux_alsa.c
>
)
ExternalProject_Add(
libdjinterop
URL
"https://github.com/xsco/libdjinterop/archive/refs/tags/${LIBDJINTEROP_VERSION}.tar.gz"
"https://launchpad.net/~xsco/+archive/ubuntu/djinterop/+sourcefiles/libdjinterop/${LIBDJINTEROP_VERSION}-0ubuntu1/libdjinterop_${LIBDJINTEROP_VERSION}.orig.tar.gz"
URL_HASH
SHA256=f4fbe728783c14acdc999b74ce3f03d680f9187e1ff676d6bf1233fdb64ae7b2
DOWNLOAD_DIR "${CMAKE_CURRENT_BINARY_DIR}/downloads"
DOWNLOAD_NAME "libdjinterop-${LIBDJINTEROP_VERSION}.tar.gz"
PREFIX "libdjinterop-${LIBDJINTEROP_VERSION}"
INSTALL_DIR ${DJINTEROP_INSTALL_DIR}
LIST_SEPARATOR "|"
CMAKE_ARGS
-DBUILD_SHARED_LIBS=OFF -DCMAKE_SKIP_INSTALL_ALL_DEPENDENCY=ON
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
-DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
-DCMAKE_PREFIX_PATH=${PIPE_DELIMITED_CMAKE_PREFIX_PATH}
-DCMAKE_INSTALL_LIBDIR:PATH=lib
-DCMAKE_MODULE_PATH:PATH=${CMAKE_MODULE_PATH}
-$<IF:$<BOOL:${CMAKE_TOOLCHAIN_FILE}>,D,U>CMAKE_TOOLCHAIN_FILE:PATH=${CMAKE_TOOLCHAIN_FILE}
-$<IF:$<BOOL:${CMAKE_OSX_DEPLOYMENT_TARGET}>,D,U>CMAKE_OSX_DEPLOYMENT_TARGET=${CMAKE_OSX_DEPLOYMENT_TARGET}
-$<IF:$<BOOL:${CMAKE_OSX_ARCHITECTURES}>,D,U>CMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES}
-DCMAKE_SYSTEM_PROCESSOR=${CMAKE_SYSTEM_PROCESSOR}
-DCMAKE_SYSTEM_NAME=${CMAKE_SYSTEM_NAME}
-DSYSTEM_SQLITE=${DJINTEROP_SYSTEM_SQLITE}
BUILD_COMMAND ${CMAKE_COMMAND} --build . --target DjInterop
BUILD_BYPRODUCTS <INSTALL_DIR>/${DJINTEROP_LIBRARY}
EXCLUDE_FROM_ALL TRUE
)
target_compile_options(${PROJECT_NAME} INTERFACE
$<$<OR:$<BOOL:${CLANG}>,$<CXX_COMPILER_ID:GNU>>:
-fno-common;
-fstrict-overflow;
-ftrapv;
-pedantic-errors;
-Wall;
-Wcast-align;
-Wdouble-promotion;
-Wextra;
-Wformat=2;
-Wmissing-declarations;
-Wnon-virtual-dtor;
-Wnull-dereference;
-Wold-style-cast;
-Woverloaded-virtual;
-Wshadow;
-Wsign-compare;
-Wundef;
>
$<$<CXX_COMPILER_ID:GNU>:
-Wduplicated-cond;
-Wlogical-op;
>
$<$<BOOL:${CLANG}>:
-Wmissing-variable-declarations;
-Wno-gnu-zero-variadic-macro-arguments; # Required for gtest 1.10.
>
$<$<OR:$<BOOL:${CLANGCL}>,$<CXX_COMPILER_ID:MSVC>>:
/permissive-;
/W4;
/w14254; # 'operator': conversion from 'type1:field_bits' to
# 'type2:field_bits', possible loss of data
/w14263; # 'function': member function does not override any base class
# virtual member function
/w14265; # 'classname': class has virtual functions, but destructor is not
# virtual instances of this class may not be destructed correctly
/w14287; # 'operator': unsigned/negative constant mismatch
/w14289; # nonstandard extension used: 'variable': loop control variable
# declared in the for-loop is used outside the for-loop scope
/w14296; # 'operator': expression is always 'boolean_value'
/w14311; # 'variable': pointer truncation from 'type1' to 'type2'
/w14545; # expression before comma evaluates to a function which is missing
# an argument list
/w14546; # function call before comma missing argument list
/w14547; # 'operator': operator before comma has no effect; expected
# operator with side-effect
/w14549; # 'operator': operator before comma has no effect; did you intend
# 'operator'?
/w14555; # expression has no effect; expected expression with side- effect
/w14619; # pragma warning: there is no warning number 'number'
/w14640; # Enable warning on thread un-safe static member initialization
/w14826; # Conversion from 'type1' to 'type_2' is sign-extended. This may
# cause unexpected runtime behavior.
/w14928; # illegal copy-initialization; more than one user-defined
# conversion has been implicitly applied
/wd4244; # 'argument': conversion from 'int' to 'unsigned char', possible
# loss of data # This one is sort of required for gtest.
/WX;
>
$<$<BOOL:${STRICT_OPTIONS}>:
-Werror;
>
$<$<BOOL:${COMPILER_SUPPORTS_WARNING_WEAK_VTABLES}>:
-Wweak-vtables; # https://llvm.org/docs/CodingStandards.html#provide-a-virtual-method-anchor-for-classes-in-headers
>
$<$<BOOL:${COMPILER_SUPPORTS_WDATE_TIME}>:
-Wdate-time; # avoid timestamps in binary for reproducible builds, not added until GCC 4.9
>
$<$<AND:$<NOT:$<BOOL:${WIN32}>>,$<NOT:$<BOOL:${HAIKU}>>>:
-Wstack-protector;
>
)
target_link_libraries(strawberry_lib PUBLIC
${CMAKE_THREAD_LIBS_INIT}
$<$<BOOL:${HAVE_BACKTRACE}>:${Backtrace_LIBRARIES}>
PkgConfig::GLIB
PkgConfig::GOBJECT
PkgConfig::SQLITE
PkgConfig::GSTREAMER
PkgConfig::GSTREAMER_BASE
PkgConfig::GSTREAMER_AUDIO
PkgConfig::GSTREAMER_APP
PkgConfig::GSTREAMER_TAG
PkgConfig::GSTREAMER_PBUTILS
${TAGLIB_LIBRARIES}
Qt${QT_VERSION_MAJOR}::Core
Qt${QT_VERSION_MAJOR}::Concurrent
Qt${QT_VERSION_MAJOR}::Gui
Qt${QT_VERSION_MAJOR}::Widgets
Qt${QT_VERSION_MAJOR}::Network
Qt${QT_VERSION_MAJOR}::Sql
$<$<BOOL:${HAVE_DBUS}>:Qt${QT_VERSION_MAJOR}::DBus>
$<$<BOOL:${HAVE_QPA_QPLATFORMNATIVEINTERFACE}>:Qt${QT_VERSION_MAJOR}::GuiPrivate>
ICU::uc
ICU::i18n
$<$<BOOL:${HAVE_STREAMTAGREADER}>:PkgConfig::LIBSPARSEHASH>
$<$<BOOL:${HAVE_ALSA}>:ALSA::ALSA>
$<$<BOOL:${HAVE_PULSE}>:PkgConfig::LIBPULSE>
$<$<BOOL:${HAVE_CHROMAPRINT}>:PkgConfig::CHROMAPRINT>
$<$<BOOL:${HAVE_MOODBAR}>:PkgConfig::FFTW3>
$<$<BOOL:${HAVE_EBUR128}>:PkgConfig::LIBEBUR128>
$<$<BOOL:${HAVE_X11_GLOBALSHORTCUTS}>:X11::X11_xcb>
$<$<BOOL:${HAVE_GIO}>:PkgConfig::GIO>
$<$<BOOL:${HAVE_GIO_UNIX}>:PkgConfig::GIO_UNIX>
$<$<BOOL:${HAVE_AUDIOCD}>:PkgConfig::LIBCDIO>
$<$<BOOL:${HAVE_MTP}>:PkgConfig::LIBMTP>
$<$<BOOL:${HAVE_GPOD}>:PkgConfig::LIBGPOD PkgConfig::GDK_PIXBUF>
$<$<BOOL:${HAVE_QTSPARKLE}>:qtsparkle-qt${QT_VERSION_MAJOR}::qtsparkle>
$<$<BOOL:${WIN32}>:dsound dwmapi ${GETOPT_LIBRARIES}>
$<$<BOOL:${MSVC}>:WindowsApp>
KDAB::kdsingleapplication
$<$<BOOL:${HAVE_DISCORD_RPC}>:discord-rpc>
)
target_compile_definitions(
maxmsp_commonsyms
PRIVATE
AVND_MAXMSP=1
$<$<BOOL:${WIN32}>:MAXAPI_USE_MSCRT=1>
C74_USE_STRICT_TYPES=1
)
string(JOIN "" flag_genex
"$<IF:"
"${check_default_genex},"
"${default_flag},"
"$<IF:"
"$<BOOL:$<TARGET_PROPERTY:_qt_internal_use_exceptions>>,"
"${enable_flag},"
"${disable_flag}"
">"
">"
)
target_compile_definitions(R-Interface PUBLIC JASP_R_INTERFACE_LIBRARY NOMINMAX RCPP_NO_SUGAR WIN32_LEAN_AND_MEAN
$<$<BOOL:${PRINT_ENGINE_MESSAGES}>:PRINT_ENGINE_MESSAGES>)
FILE(GENERATE OUTPUT "${CMAKE_BINARY_DIR}/lib/pkgconfig/absl_${_NAME}.pc" CONTENT "\
prefix=${CMAKE_INSTALL_PREFIX}\n\
exec_prefix=\${prefix}\n\
libdir=${CMAKE_INSTALL_FULL_LIBDIR}\n\
includedir=${CMAKE_INSTALL_FULL_INCLUDEDIR}\n\
\n\
Name: absl_${_NAME}\n\
Description: Abseil ${_NAME} library\n\
URL: https://abseil.io/\n\
Version: ${PC_VERSION}\n\
Requires:${PC_DEPS}\n\
Libs: -L\${libdir} ${PC_LINKOPTS} $<$<NOT:$<BOOL:${ABSL_CC_LIB_IS_INTERFACE}>>:${LNK_LIB}>\n\
Cflags: -I\${includedir}${PC_CFLAGS}\n")
target_compile_definitions(
${NLOHMANN_JSON_TARGET_NAME}
INTERFACE
$<$<NOT:$<BOOL:${JSON_GlobalUDLs}>>:JSON_USE_GLOBAL_UDLS=0>
$<$<NOT:$<BOOL:${JSON_ImplicitConversions}>>:JSON_USE_IMPLICIT_CONVERSIONS=0>
$<$<BOOL:${JSON_DisableEnumSerialization}>:JSON_DISABLE_ENUM_SERIALIZATION=1>
$<$<BOOL:${JSON_Diagnostics}>:JSON_DIAGNOSTICS=1>
$<$<BOOL:${JSON_LegacyDiscardedValueComparison}>:JSON_USE_LEGACY_DISCARDED_VALUE_COMPARISON=1>
)
list(APPEND header "$<IF:$<BOOL:${PUBLIC_INCLUDES}>,includedir=\${prefix}/${INSTALL_INCLUDE_DIR},>")
target_compile_definitions(Diligent-PublicBuildSettings
INTERFACE
D3D11_SUPPORTED=$<BOOL:${D3D11_SUPPORTED}>
D3D12_SUPPORTED=$<BOOL:${D3D12_SUPPORTED}>
GL_SUPPORTED=$<BOOL:${GL_SUPPORTED}>
GLES_SUPPORTED=$<BOOL:${GLES_SUPPORTED}>
VULKAN_SUPPORTED=$<BOOL:${VULKAN_SUPPORTED}>
METAL_SUPPORTED=$<BOOL:${METAL_SUPPORTED}>
WEBGPU_SUPPORTED=$<BOOL:${WEBGPU_SUPPORTED}>
)
target_include_directories (${HDF5_HL_LIB_TARGET}
PRIVATE "${HDF5_SRC_INCLUDE_DIRS};${HDF5_SRC_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>"
INTERFACE "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
)
target_compile_definitions(jive-demo
INTERFACE JIVE_GUI_ITEMS_HAVE_STYLE_SHEETS=1
JUCE_APPLICATION_NAME="$<TARGET_PROPERTY:jive-demo,JUCE_PRODUCT_NAME>"
JUCE_APPLICATION_VERSION="$<TARGET_PROPERTY:jive-demo,JUCE_VERSION>"
JUCE_VST3_CAN_REPLACE_VST2=0
JIVE_ENABLE_MELATONIN_INSPECTOR=$<BOOL:${JIVE_ENABLE_MELATONIN_INSPECTOR}>
)
target_compile_definitions(indiclient
PUBLIC
$<$<BOOL:${HAVE_TIMESPEC_GET}>:HAVE_TIMESPEC_GET>
$<$<BOOL:${HAVE_CLOCK_GETTIME}>:HAVE_CLOCK_GETTIME>
)
target_compile_definitions(qpl_c_api
PUBLIC -DQPL_BADARG_CHECK # own_checkers.h
PUBLIC -DQPL_LIB # needed for middle_layer_lib
PUBLIC $<$<BOOL:${LOG_HW_INIT}>:LOG_HW_INIT>)
target_compile_definitions(WideInteger::WideInteger
INTERFACE
$<$<BOOL:${_HAVE_INT128}>:WIDE_INTEGER_HAS_LIMB_TYPE_UINT64>
)
target_compile_definitions(${PROJECT_NAME} PUBLIC
$<$<BOOL:${MSVC}>:BOOST_JSON_NO_LIB>
$<$<BOOL:${MSVC}>:BOOST_CONTAINER_NO_LIB>
)
target_compile_definitions(momo
PRIVATE
# CLI11 は C++17 でのビルドにおいて std::filesystem を利用するが、これを clang で解決するには c++fs のリンクが必要になる。
# しかし、 libwebrtc の libc++ では std::filesystem が提供されていないため下記のオプションを追加して利用しないようにする。
CLI11_HAS_FILESYSTEM=0
OPENSSL_IS_BORINGSSL
$<$<BOOL:${USE_NVCODEC_ENCODER}>:USE_NVCODEC_ENCODER>
$<$<BOOL:${USE_V4L2_ENCODER}>:USE_V4L2_ENCODER>
$<$<BOOL:${USE_JETSON_ENCODER}>:USE_JETSON_ENCODER>
$<$<BOOL:${USE_VPL_ENCODER}>:USE_VPL_ENCODER>
$<$<BOOL:${USE_LINUX_PULSE_AUDIO}>:USE_LINUX_PULSE_AUDIO>
$<$<BOOL:${USE_SCREEN_CAPTURER}>:USE_SCREEN_CAPTURER>
$<$<BOOL:${USE_FAKE_CAPTURE_DEVICE}>:USE_FAKE_CAPTURE_DEVICE>
# https://github.com/boostorg/container_hash/issues/22 と同じ問題が clang-15 でも起きるので、これを手動で定義して回避する
BOOST_NO_CXX98_FUNCTION_BASE
)
target_compile_definitions(pull
PRIVATE
$<$<BOOL:${ENABLE_COMPRESSION}>:HAVE_ZLIB>
)
target_link_options(${name} PRIVATE
$<$<BOOL:${SNMALLOC_LINKER_SUPPORT_NO_ALLOW_SHLIB_UNDEF}>:-Wl,--no-undefined>
$<$<PLATFORM_ID:Windows>:$<${ci_or_debug}:/DEBUG>>)
target_compile_definitions(pull
PRIVATE
$<$<BOOL:${ENABLE_COMPRESSION}>:HAVE_ZLIB>
)
target_compile_definitions(yaml
PRIVATE HAVE_CONFIG_H
PUBLIC
$<$<NOT:$<BOOL:${BUILD_SHARED_LIBS}>>:YAML_DECLARE_STATIC>
$<$<BOOL:${MSVC}>:_CRT_SECURE_NO_WARNINGS>
)
add_compile_options(
-fno-rtti
-pthread
${WARN_OPTS}
"$<$<NOT:$<CONFIG:Debug>>:${GC_SECTIONS_OPTS}>"
"$<$<CONFIG:Debug>:-fno-omit-frame-pointer>"
# fix for clangd "$<$<CONFIG:Debug>:-fretain-comments-from-system-headers>"
# asan
"$<$<BOOL:${QCM_USE_ASAN}>:-fsanitize=address>"
"$<$<BOOL:${QCM_USE_ASAN}>:-fsanitize=undefined>"
"$<$<BOOL:${QCM_USE_ASAN}>:-fsanitize-recover=address>")
add_compile_definitions($<$<BOOL:${WIN32}>:_CRT_SECURE_NO_WARNINGS>)
target_compile_definitions(TestCommonRead_f PRIVATE
$<$<BOOL:${ADIOS2_HAVE_FORTRAN_F03_ARGS}>:ADIOS2_HAVE_FORTRAN_F03_ARGS>
$<$<BOOL:${ADIOS2_HAVE_FORTRAN_GNU_ARGS}>:ADIOS2_HAVE_FORTRAN_GNU_ARGS>
)
target_compile_definitions(operon_operon PUBLIC
"$<$<BOOL:${USE_SINGLE_PRECISION}>:USE_SINGLE_PRECISION>"
"$<$<BOOL:${HAVE_CERES}>:HAVE_CERES>"
)
set_target_properties(
workbench
PROPERTIES VS_DEBUGGER_COMMAND $<$<BOOL:${WIN32}>:${Python_EXECUTABLE}>
VS_DEBUGGER_COMMAND_ARGUMENTS $<$<BOOL:${WIN32}>:${_vs_debugger_args}>
VS_DEBUGGER_ENVIRONMENT
$<$<BOOL:${WIN32}>:${MSVC_IDE_ENV}>
)
target_compile_options(pass1 PRIVATE $<$<BOOL:${MSVC}>:/wd4624> $<$<BOOL:${MSVC}>:/wd4291> $<$<BOOL:${MSVC}>:/MT>)
target_compile_definitions(
tinyxml2
PUBLIC $<$<CONFIG:Debug>:TINYXML2_DEBUG>
INTERFACE $<$<BOOL:${BUILD_SHARED_LIBS}>:TINYXML2_IMPORT>
PRIVATE $<$<CXX_COMPILER_ID:MSVC>:_CRT_SECURE_NO_WARNINGS>
PUBLIC _FILE_OFFSET_BITS=64
)
target_compile_definitions(
"${PROJECT_NAME}"
PUBLIC
BOOST_STL_INTERFACES_DISABLE_CONCEPTS
WINVER=0x0601 # windows 7, minimum supported version by skyrim special edition
_WIN32_WINNT=0x0601
"$<$<BOOL:${SKSE_SUPPORT_XBYAK}>:SKSE_SUPPORT_XBYAK=1>"
)
add_compile_definitions(HANNK_BUILD_TFLITE=$<BOOL:${HANNK_BUILD_TFLITE}>)
target_compile_definitions(tools_test PRIVATE
$<$<AND:$<BOOL:${WITH_UNIVERSAL_BINARY}>,$<BOOL:${WITH_TOOLS}>>:DWARFS_HAVE_UNIVERSAL_BINARY>
$<$<BOOL:${WITH_TOOLS}>:DWARFS_WITH_TOOLS>
$<$<BOOL:${WITH_FUSE_DRIVER}>:DWARFS_WITH_FUSE_DRIVER>
$<$<BOOL:${MKDWARFS_EXE}>:MKDWARFS_BINARY=\"${MKDWARFS_EXE}\">
$<$<BOOL:${DWARFSCK_EXE}>:DWARFSCK_BINARY=\"${DWARFSCK_EXE}\">
$<$<BOOL:${DWARFSEXTRACT_EXE}>:DWARFSEXTRACT_BINARY=\"${DWARFSEXTRACT_EXE}\">
$<$<BOOL:${CMAKE_CROSSCOMPILING}>:DWARFS_CROSSCOMPILING_EMULATOR=\"${CMAKE_CROSSCOMPILING_EMULATOR}\">
)
target_sources(yaml-cpp
PRIVATE
$<$<BOOL:${YAML_CPP_BUILD_CONTRIB}>:${yaml-cpp-contrib-sources}>
${yaml-cpp-sources})
add_library(libmisc STATIC
src/C4Include.cpp
src/c4group/C4Group.cpp
src/c4group/C4Group.h
src/c4group/C4Update.cpp
src/c4group/C4Update.h
src/c4group/CStdFile.cpp
src/c4group/CStdFile.h
src/graphics/C4BltTransform.cpp
src/graphics/C4BltTransform.h
src/lib/C4InputValidation.cpp
src/lib/C4InputValidation.h
src/lib/C4Markup.cpp
src/lib/C4Markup.h
src/lib/C4Random.cpp
src/lib/C4Random.h
src/lib/C4SimpleLog.cpp
src/lib/SHA1.h
src/lib/Standard.cpp
src/lib/Standard.h
src/lib/StdBuf.cpp
src/lib/StdBuf.h
src/lib/StdCompiler.cpp
src/lib/StdCompiler.h
src/lib/StdResStr2.cpp
src/netpuncher/C4PuncherPacket.cpp
src/netpuncher/C4PuncherPacket.h
src/network/C4NetIO.cpp
src/network/C4NetIO.h
src/network/C4Network2Address.cpp
src/network/C4Network2Address.h
src/platform/StdFile.cpp
src/platform/StdFile.h
src/platform/StdRegistry.cpp
src/platform/StdRegistry.h
src/platform/StdScheduler.cpp
$<$<BOOL:${APPLE}>:src/platform/StdSchedulerMac.mm>
src/platform/StdSchedulerWin32.cpp
src/platform/StdSchedulerPoll.cpp
src/platform/StdScheduler.h
src/platform/C4TimeMilliseconds.cpp
src/platform/C4TimeMilliseconds.h
src/zlib/gzio.c
src/zlib/gzio.h
src/zlib/zutil.h
${OC_LICENSES}
# pcg is a header-only library which we're listing solely so MSVC shows
# the sources in the solution explorer. We could use an INTERFACE library
# but there is no point to that because we don't need it for non-IDE
# generators and support on IDE-targetting generators is nonexistant.
thirdparty/pcg/pcg_extras.hpp
thirdparty/pcg/pcg_random.hpp
thirdparty/pcg/pcg_uint128.hpp
)
target_compile_definitions(
unarr PRIVATE HAVE_ZLIB $<$<BOOL:${USE_ZLIB_CRC}>:USE_ZLIB_CRC>)
add_compile_definitions(FO_ENABLE_3D=$<BOOL:${FO_ENABLE_3D}>)
target_link_libraries(Time PUBLIC
$<IF:$<BOOL:${SPELUNKY_PSP_PLATFORM_PSP}>,SDL_2_XX,>
$<IF:$<BOOL:${SPELUNKY_PSP_PLATFORM_WINDOWS}>,SDL_1_XX,>
$<IF:$<BOOL:${SPELUNKY_PSP_PLATFORM_LINUX}>,SDL_2_XX,>
$<IF:$<BOOL:${SPELUNKY_PSP_PLATFORM_DARWIN}>,SDL_2_XX,>
$<IF:$<BOOL:${SPELUNKY_PSP_PLATFORM_ANDROID}>,SDL_2_XX,>
)
add_custom_target(
test_build_${name}
${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMAKE_CURRENT_SOURCE_DIR}/${name}"
"${CMAKE_CURRENT_BINARY_DIR}/${name}"
--build-config
Release
--build-noclean
--build-generator
${CMAKE_GENERATOR}
$<$<BOOL:${CMAKE_GENERATOR_PLATFORM}>:--build-generator-platform>
${CMAKE_GENERATOR_PLATFORM}
--build-makeprogram
${CMAKE_MAKE_PROGRAM}
--build-target
check_${name}
--build-options
${build_options})
target_compile_definitions(middle_layer_lib
PUBLIC QPL_VERSION="${QPL_VERSION}"
PUBLIC $<$<BOOL:${LOG_HW_INIT}>:LOG_HW_INIT>
PUBLIC $<$<BOOL:${EFFICIENT_WAIT}>:QPL_EFFICIENT_WAIT>
PUBLIC QPL_BADARG_CHECK
PUBLIC $<$<BOOL:${DYNAMIC_LOADING_LIBACCEL_CONFIG}>:DYNAMIC_LOADING_LIBACCEL_CONFIG>)
target_sources(aribcaption PRIVATE
include/aribcaption/image.h
include/aribcaption/image.hpp
include/aribcaption/renderer.h
include/aribcaption/renderer.hpp
$<$<BOOL:${ARIBCC_IS_ANDROID}>:src/base/tinyxml2.cpp>
$<$<BOOL:${ARIBCC_IS_ANDROID}>:src/base/tinyxml2.h>
src/renderer/alphablend.hpp
src/renderer/alphablend_generic.hpp
src/renderer/alphablend_x86.hpp
src/renderer/bitmap.cpp
src/renderer/bitmap.hpp
src/renderer/canvas.cpp
src/renderer/canvas.hpp
src/renderer/drcs_renderer.cpp
src/renderer/drcs_renderer.hpp
src/renderer/font_provider.cpp
src/renderer/font_provider.hpp
$<$<BOOL:${ARIBCC_IS_ANDROID}>:src/renderer/font_provider_android.cpp>
$<$<BOOL:${ARIBCC_IS_ANDROID}>:src/renderer/font_provider_android.hpp>
$<$<BOOL:${ARIBCC_USE_CORETEXT}>:src/renderer/font_provider_coretext.cpp>
$<$<BOOL:${ARIBCC_USE_CORETEXT}>:src/renderer/font_provider_coretext.hpp>
$<$<BOOL:${ARIBCC_USE_DIRECTWRITE}>:src/renderer/font_provider_directwrite.cpp>
$<$<BOOL:${ARIBCC_USE_DIRECTWRITE}>:src/renderer/font_provider_directwrite.hpp>
$<$<BOOL:${ARIBCC_USE_FONTCONFIG}>:src/renderer/font_provider_fontconfig.cpp>
$<$<BOOL:${ARIBCC_USE_FONTCONFIG}>:src/renderer/font_provider_fontconfig.hpp>
$<$<BOOL:${ARIBCC_USE_GDI_FONT}>:src/renderer/font_provider_gdi.cpp>
$<$<BOOL:${ARIBCC_USE_GDI_FONT}>:src/renderer/font_provider_gdi.hpp>
src/renderer/image_capi.cpp
src/renderer/rect.hpp
src/renderer/region_renderer.cpp
src/renderer/region_renderer.hpp
src/renderer/renderer.cpp
src/renderer/renderer_capi.cpp
src/renderer/renderer_impl.cpp
src/renderer/renderer_impl.hpp
src/renderer/text_renderer.cpp
src/renderer/text_renderer.hpp
$<$<BOOL:${ARIBCC_USE_FREETYPE}>:src/renderer/open_type_gsub.cpp>
$<$<BOOL:${ARIBCC_USE_FREETYPE}>:src/renderer/open_type_gsub.hpp>
$<$<BOOL:${ARIBCC_USE_CORETEXT}>:src/renderer/text_renderer_coretext.cpp>
$<$<BOOL:${ARIBCC_USE_CORETEXT}>:src/renderer/text_renderer_coretext.hpp>
$<$<BOOL:${ARIBCC_USE_DIRECTWRITE}>:src/renderer/text_renderer_directwrite.cpp>
$<$<BOOL:${ARIBCC_USE_DIRECTWRITE}>:src/renderer/text_renderer_directwrite.hpp>
$<$<BOOL:${ARIBCC_USE_FREETYPE}>:src/renderer/text_renderer_freetype.cpp>
$<$<BOOL:${ARIBCC_USE_FREETYPE}>:src/renderer/text_renderer_freetype.hpp>
)
target_link_options(qpcpp PRIVATE
$<$<BOOL:${QPCPP_CFG_VERBOSE}>:-v>
)
target_sources(vbam-wx-widgets
PRIVATE
# from external source with minor modifications
checkedlistctrl.cpp
$<IF:$<BOOL:${APPLE}>,dpi-support-mac.mm,dpi-support.cpp>
group-check-box.cpp
keep-on-top-styler.cpp
keyboard-input-handler.cpp
option-validator.cpp
render-plugin.cpp
user-input-ctrl.cpp
user-input-event.cpp
sdl-poller.cpp
shortcut-menu-bar.cpp
utils.cpp
wxmisc.cpp
PUBLIC
# from external source with minor modifications
checkedlistctrl.h
client-data.h
dpi-support.h
event-handler-provider.h
group-check-box.h
keep-on-top-styler.h
keyboard-input-handler.h
option-validator.h
render-plugin.h
user-input-ctrl.h
user-input-event.h
sdl-poller.h
shortcut-menu-bar.h
utils.h
wxmisc.h
)
target_sources(hal.interfaces PRIVATE
AdcMultiChannel.hpp
AnalogToDigitalPin.hpp
AsyncGpio.cpp
AsyncGpio.hpp
BackupRam.hpp
BleDtm.hpp
Can.hpp
CommunicationConfigurator.hpp
DigitalToAnalogPin.hpp
Ethernet.hpp
Flash.cpp
Flash.hpp
FlashHeterogeneous.cpp
FlashHeterogeneous.hpp
FlashHomogeneous.cpp
FlashHomogeneous.hpp
FlashId.hpp
Gpio.cpp
Gpio.hpp
I2c.cpp
I2c.hpp
I2cRegisterAccess.cpp
I2cRegisterAccess.hpp
MacAddress.cpp
MacAddress.hpp
PulseWidthModulation.hpp
QuadSpi.cpp
QuadSpi.hpp
RandomDataGenerator.hpp
Reset.hpp
SerialCommunication.cpp
SerialCommunication.hpp
Spi.cpp
Spi.hpp
UsbCustomHid.hpp
UsbLinkLayer.hpp
$<$<BOOL:${EMIL_HOST_BUILD}>:FileSystem.cpp>
$<$<BOOL:${EMIL_HOST_BUILD}>:FileSystem.hpp>
)
add_compile_options ($<$<BOOL:${HAVE_NO_UNNAMED_TYPE_TEMPLATE_ARGS}>:-Wno-unnamed-type-template-args>)
TARGET_COMPILE_DEFINITIONS(cpuinfo PRIVATE "CPUINFO_LOG_TO_STDIO=$<BOOL:${CPUINFO_LOG_TO_STDIO}>")
target_link_libraries(
pfMoviePlayer
PUBLIC
CoreLib
PRIVATE
plAudio
plGImage
plMessage
plPipeline
plResMgr
plStatusLog
$<$<BOOL:${USE_WEBM}>:libwebm::libwebm>
$<$<BOOL:${USE_WEBM}>:Opus::opus>
$<$<BOOL:${USE_WEBM}>:VPX::VPX>
)
target_sources(pomdog_static PRIVATE
# NOTE: application
${POMDOG_SRC_DIR}/application/game.h
${POMDOG_SRC_DIR}/application/game.cpp
${POMDOG_SRC_DIR}/application/game_host.h
${POMDOG_SRC_DIR}/application/game_host.cpp
${POMDOG_SRC_DIR}/application/game_window.h
${POMDOG_SRC_DIR}/application/game_window.cpp
${POMDOG_SRC_DIR}/application/mouse_cursor.h
${POMDOG_SRC_DIR}/application/subsystem_scheduler.h
${POMDOG_SRC_DIR}/application/system_events.h
$<$<PLATFORM_ID:Darwin>:
# NOTE: platform/cocoa
${POMDOG_SRC_DIR}/application/cocoa/game_host_cocoa.h
${POMDOG_SRC_DIR}/application/cocoa/game_host_cocoa.mm
${POMDOG_SRC_DIR}/application/cocoa/game_window_cocoa.h
${POMDOG_SRC_DIR}/application/cocoa/game_window_cocoa.mm
>
$<$<AND:$<PLATFORM_ID:Darwin>,$<BOOL:${POMDOG_USE_GL4}>>:
# NOTE: platform/cocoa
${POMDOG_SRC_DIR}/application/cocoa/pomdog_opengl_view.h
${POMDOG_SRC_DIR}/application/cocoa/pomdog_opengl_view.mm
>
$<$<AND:$<PLATFORM_ID:Darwin>,$<BOOL:${POMDOG_USE_METAL}>>:
# NOTE: platform/cocoa
${POMDOG_SRC_DIR}/application/cocoa/game_host_metal.h
${POMDOG_SRC_DIR}/application/cocoa/game_host_metal.mm
${POMDOG_SRC_DIR}/application/cocoa/pomdog_metal_view_controller.h
${POMDOG_SRC_DIR}/application/cocoa/pomdog_metal_view_controller.mm
>
$<$<PLATFORM_ID:Linux>:
# NOTE: platform/linux
${POMDOG_SRC_DIR}/application/linux/game_host_linux.cpp
${POMDOG_SRC_DIR}/application/linux/game_host_linux.h
>
$<$<PLATFORM_ID:Linux>:
# NOTE: platform/x11
${POMDOG_SRC_DIR}/application/x11/game_window_x11.cpp
${POMDOG_SRC_DIR}/application/x11/game_window_x11.h
${POMDOG_SRC_DIR}/application/x11/x11_atom_cache.h
${POMDOG_SRC_DIR}/application/x11/x11_context.cpp
${POMDOG_SRC_DIR}/application/x11/x11_context.h
>
$<$<PLATFORM_ID:Windows>:
# NOTE: platform/win32
${POMDOG_SRC_DIR}/application/win32/dark_mode.cpp
${POMDOG_SRC_DIR}/application/win32/dark_mode.h
${POMDOG_SRC_DIR}/application/win32/game_host_win32.cpp
${POMDOG_SRC_DIR}/application/win32/game_host_win32.h
${POMDOG_SRC_DIR}/application/win32/game_window_win32.cpp
${POMDOG_SRC_DIR}/application/win32/game_window_win32.h
>
)
add_compile_definitions(USE_GUIDANCE=$<BOOL:${USE_GUIDANCE}>)
target_compile_options(libremidi
${_public}
$<$<BOOL:${LIBREMIDI_CXX_HAS_WNO_GNU_STATEMENT}>:-Wno-gnu-statement-expression-from-macro-expansion>
$<$<BOOL:${LIBREMIDI_CXX_HAS_WNO_C99_EXTENSIONS}>:-Wno-c99-extensions>
)
target_compile_definitions(${HDF5_LIB_TARGET}
PUBLIC
${HDF_EXTRA_C_FLAGS}
${HDF_EXTRA_FLAGS}
PRIVATE
$<$<BOOL:${HDF5_ENABLE_TRACE}>:H5_DEBUG_API> # Enable tracing of the API
$<$<BOOL:${HDF5_ENABLE_DEBUG_APIS}>:H5Z_DEBUG;H5T_DEBUG;H5ST_DEBUG;H5S_DEBUG;H5O_DEBUG;H5I_DEBUG;H5HL_DEBUG;H5F_DEBUG;H5D_DEBUG;H5B2_DEBUG;H5AC_DEBUG>
)
target_compile_options(test_stk_app PRIVATE $<$<BOOL:${ENABLE_WERROR}>:-Werror>)
target_compile_options(${target_name} PRIVATE
$<$<BOOL:${EMSCRIPTEN}>:-s DISABLE_EXCEPTION_CATCHING=0>
$<$<OR:$<CXX_COMPILER_ID:Clang>,$<CXX_COMPILER_ID:AppleClang>>:-Wall -Wextra -Wshadow -Wconversion -Wsign-conversion -Wpedantic -Werror -Wno-deprecated-declarations>
$<$<CXX_COMPILER_ID:GNU>:-Wall -Wextra -Wshadow -Wconversion -Wsign-conversion -Wpedantic -Wno-psabi -Werror -Wno-deprecated-declarations>
$<$<CXX_COMPILER_ID:MSVC>:/WX /wd4996>
$<$<BOOL:${CYGWIN}>:-Wa,-mbig-obj>)
target_sources(${PROJECT_NAME}
PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/base.h
${CMAKE_CURRENT_SOURCE_DIR}/base.cc
${CMAKE_CURRENT_SOURCE_DIR}/aruco.h
"$<$<BOOL:${USE_ARUCO}>:${CMAKE_CURRENT_SOURCE_DIR}/aruco.cc>"
"$<$<NOT:$<BOOL:${USE_ARUCO}>>:${CMAKE_CURRENT_SOURCE_DIR}/aruco_disabled.cc>"
)
add_custom_target(
${check_target}
COMMAND
${cppcheck_EXECUTABLE}
"$<$<BOOL:${includes}>:-I$<JOIN:${includes},\t-I>>"
--enable=all
--std=c++11
--verbose
--suppress=missingIncludeSystem
${ARGN}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)